Généralement quand nous parlons de sécurité informatique, nous pensons plus rapidement à la sécurité applicative des équipements. Mais ce n’est pas la seule. La sécurité physique est aussi un axe à prendre dans sa politique de sécurité informatique. Aujourd’hui nous allons voir comment appliquer un filtre/barrage au périphérique externe étranger sur une machine Linux (Distribution Ubuntu).
USBGuard est un petit daemon qui fournit une protection face à des périphériques externe potentiellement intrusifs. Il met en œuvre des fonctionnalités de base (blacklist, whitelist) sur les attributs (ID unique, Nom…) de périphérique de stockage uniquement. Pour appliquer une politique définie par l’utilisateur, USBGuard utilise notamment la fonction d’autorisation de périphérique USB du noyau Linux du système.
Ce tutoriel est réalisé sous Ubuntu 20.04.
Nb: Les utilisateurs de REDHat, Centos peuvent suivre aussi ce tutoriel, la simple commande qui varie est lors de l’installation du paquet usbguard non pas avec apt mais avec yum.
Toutes les commandes ci-dessous seront exécutées par l’intermédiaire de l’utilisateur root.
Dans un premier temps, nous allons installer le paquet usbguard, par l’intermédiaire de la fameuse commande apt.
apt install usbguard
Dès lors que l’installation est achevée, nous allons générer la politique par défaut d’usbguard. (Par défaut celle-ci autorise tous les périphérique de stockage externe déjà connecté à la machine, lors de son exécution).
usbguard generate-policy > /etc/usbguard/rules.conf
Bien, nous pouvons maintenant démarrer le service usbguard.
systemctl restart usbguard.service
systemctl enable usbguard.service
Pour réaliser nos tests, nous allons brancher une clé USB à notre machine.
Si vous utilisez VMware Workstation comme logiciel de virtualisation, il faudra autoriser que le périphérique de stockage soit branché à notre machine virtuelle. (Dans certains cas les VMware Tools peuvent être requis)
Pour vérifier que notre système détecte la présence de cette clé USB (mais qu’elle n’est pas monté), nous allons exécuter les commandes suivantes.
lsusb # commande universelle
Mais celle qui nous intéresse réellement est :
usbguard list-devices
Comme vous pouvez le constater, la ligne commençant par 13, qui représente l’ID du périphérique USB que je viens de brancher. Automatiquement usbguard l’a détecté, et l’a bloqué.
Usbguard est capable de faire la différence entre périphériques de stockage et périphériques d’accessibilités (Clavier/Souris). C’est pour ça que si vous branché un de ses deux équipements usbguard ne les vous bloquera pas !
Poursuivons, Pour obtenir un accès à cette clé USB qui le besoin s’en fait ressentir, bien sûr, nous le pouvons :
usbguard allow-device 13
Quelques secondes après, votre périphérique apparaît sur votre écran, ainsi que par l’intermédiaire de l’explorateur de fichier.
Pour rebloquer le périphérique
usbguard block-device 13
Automatiquement le périphérique se verra « démonté » de notre système d’exploitation.
Pour ce faire, nous devons copier la ligne correspondant au périphérique que nous souhaitons autoriser. Réexécutons la commande suivante, afin d’obtenir la ligne en question.
usbguard list-devices
La ligne qui nous intéresse est celle commençant par l’id 13. Copier son contenu à partir de du b de « block ».
nano /etc/usbguard/rules.conf
Collez cette ligne à la fin du fichier.
Voilà, il nous manque plus qu’une action, redémarrer notre service afin que les modifications soient prises en compte.
Automatiquement, lors du démarrage de l’OS, notre périphérique sera monté à partir de la séquence de démarrage « système d’initialisation ».
++
Brlndtech